課程名稱 |
資料結構 Data Structures |
開課學期 |
102-1 |
授課對象 |
工學院 工程科學及海洋工程學系 |
授課教師 |
張恆華 |
課號 |
ESOE2012 |
課程識別碼 |
505 22240 |
班次 |
|
學分 |
3 |
全/半年 |
半年 |
必/選修 |
必修 |
上課時間 |
星期五2,3,4(9:10~12:10) |
上課地點 |
工科127A |
備註 |
資訊計算組必修。
總人數上限:40人 |
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1021esoe_ds |
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
本課程介紹基礎的資料結構與相關演算法設計及其應用。我們將探討一些基本和常見的儲存資料結構,諸如陣列、連結串列、堆疊、佇列、樹狀結構、圖形、排序和抽像資料型態。教授重點將強調各種不同資料結構的設計、實用、試驗和評估。 |
課程目標 |
本課程的主旨乃是給予學生在資料結構及其相關的設計與分析技術上有一個基本知識和了解。課程目標在提昇學生在資料結構設計上的能力,分析各種不同結構的好壞俾使撰寫的程式更加精進和有效率,並學會選擇最適宜的資料結構來撰寫程式。 |
課程要求 |
修課學生需修畢計算機概論和程式語言(C, C++, or Java)。 |
預期每週課後學習時數 |
|
Office Hours |
每週一 14:00~16:00 |
指定閱讀 |
|
參考書目 |
William Ford, William R. Topp, Data Structures with Java, Prentice Hall, 2005.
Ellis Horowitz, Sartaj Sahni, Dinesh P. Mehta, Fundamentals of data structures in C++, 2nd edition, Silicon Press, 2006. |
評量方式 (僅供參考) |
No. |
項目 |
百分比 |
說明 |
1. |
作業與程式練習 |
45% |
|
2. |
期中考 |
25% |
|
3. |
期末考 |
30% |
|
|
週次 |
日期 |
單元主題 |
第1週 |
9/13 |
Course Overview and C++ Programming Basics |
第2週 |
9/20 |
Holiday (off) |
第3週 |
9/27 |
Arrays, Pointers and Loops |
第4週 |
10/04 |
Functions and Classes |
第5週 |
10/11 |
Lists and Linked Lists |
第6週 |
10/18 |
Recursion, Binary Search and Templates |
第7週 |
10/25 |
Inheritance, Abstract Class, Exception, and Shadowing |
第8週 |
11/01 |
Asymptotic Analysis |
第9週 |
11/8 |
Midterm exam |
第10週 |
11/15 |
School holiday |
第11週 |
11/22 |
Hash Tables, Stacks, and Queues |
第12週 |
11/29 |
Rooted Trees and Priority Queues |
第13週 |
12/10 |
Sorting and Sets |
第14週 |
12/13 |
Binary Heap and Binary Search Trees |
第15週 |
12/20 |
Binary Search Trees and 2‐3‐4 Trees |
第16週 |
12/27 |
2‐3‐4 Trees and Graphs |
第17週 |
1/03 |
Graph Traversals, Weighted Graph, and Sorting |
第18週 |
1/14 |
Final exam |
|